// pages/cart/index.js
const key = 'xxxxx'; //使用在腾讯位置服务申请的key
const referer = 'xxxx'; //调用插件的app的名称
const chooseLocation = requirePlugin('chooseLocation');
Page({

    /**
     * 页面的初始数据
     */
    data: {
        allchecked:false,
        totalprice:0,
        totalcount:0
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },


    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        const location = chooseLocation.getLocation();
        if(location!=null){
            wx.setStorageSync('address', location.address+location.name);
        }
        const address=wx.getStorageSync('address');
        //获取购物车的内容
        const carlist=wx.getStorageSync('car') || [];
        /*//获取用户的信息
        let us=wx.getStorageSync('userinfo');*/
        this.setData({
            address:address
        });
        //处理数组
        this.HandCarArray(carlist);
    },
   /* //全部选中是打勾
    judegallchecked(){
        let allchek=this.data.carList.every((item)=>{
            return item.checked==true;
        });
        console.log(allchek);
        this.setData({
            allchecked:allchek
        })
    },*/
    //全选改变状态
    allcheckchange(){
        let cart=this.data.carList;
        let allched=this.data.allchecked;
        //判断当前的全选状态
        if(allched==true){
            allched=false;
        }else{
            allched=true;
        }
        //遍历改变选中状态
        cart.forEach((item)=>{
            item.checked=allched;
        });
        this.HandCarArray(cart);
    },
    //计算底部工具栏总价格...
    HandCarArray(car){
        let allchek = true;
        let totalprice=0;
        let totalcount=0;
        //遍历数组
        car.forEach((item)=>{
            if(item.checked){//每一项选中时
                //总价
                totalprice+=item.number*item.goods_price;
                //数量
                totalcount+=item.number;
            }else{
                //全部不选中
                allchek=false;
            }
        });
        //判断数组长度 是否全选
        if(car.length>0){
            allchek=allchek;
        }else{
            allchek=false;
        };
        //给data赋值
        this.setData({
            allchecked:allchek,
            totalprice:totalprice,
            totalcount:totalcount,
            carList:car,
        });
        //放回缓存
        wx.setStorageSync('car',car);
    },
    //一项勾上
    goodsitemchange(e){
        //获取修改的ID
      let goodid=e.currentTarget.dataset.id;
      //购物车数组
      let calis=this.data.carList;
      //找到需改的商品
      let index=calis.findIndex((item)=>{
          return item.goods_id===goodid;
      });
      //取反
      calis[index].checked=!calis[index].checked;
      //处理数组
      this.HandCarArray(calis);
    },
    //点击 加数量 减数量
    changnumber(e){
        let that=this;
        //传来的操作 + || -
        let operate=e.currentTarget.dataset.operate;
        //传来的ID
        let id=e.currentTarget.dataset.goodid;
        console.log(operate,id);
        //购物车数组
        let carlis=this.data.carList;
        console.log(carlis);
        //找到对应的商品的下标
        const index=carlis.findIndex((items)=>{
            return items.goods_id===id;
        })
        console.log(index);
        if(carlis[index].number===1 && operate=='-1'){
            wx.showModal({
                title: '提示',
                content: '是否删除？',
                success(res){
                    if(res.confirm){
                        //删除掉
                        carlis.splice(index,1);
                        console.log(this);
                        that.HandCarArray(carlis);
                    }
                }
            })
        }else if(operate==1){
            //数量+1
            carlis[index].number+=1;
            this.HandCarArray(carlis);
        }else{
            //数量-1
            carlis[index].number-=1;
            this.HandCarArray(carlis);
        }
    },
    //结算
    clickaccount(){
        //获取地址
        let address=this.data.address;
        //获取数量
        let totalnumber=this.data.totalcount;
        console.log(address,totalnumber);
        //判断地址是否为空
        if(!address){
            wx.showToast({
                title:'您还没有选择收货地址！',
                mask:true
            });
            return;
        };
        //判断数量
        if(totalnumber===0){
            wx.showToast({
                title:'您还没有选购商品！',
                mask:true
            });
            return;
        }
        //跳转到支付界面
        wx.navigateTo({
            url:'/pages/pay/index'
        })
    }
    ,
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    },
    //获取收货地址
    getaddress(){
        wx.navigateTo({
            url: `plugin://chooseLocation/index?key=${key}&referer=${referer}`
        });
    }
})
